package day7;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.nio.charset.StandardCharsets;

//b.通过一个类自定义的类(Person)  属性 任意  方法任意编写
//  通过反射获取类的所有属性和方法  然后 将获取的数据
//  写入到result.txt中  内容如下:
//  方法有:
//  属性有:
//  构造方法有:
public class Work2 {
    public static void main(String[] args) throws ClassNotFoundException, IOException {
        Class c=Class.forName("day5.Person");
        StringBuilder result=new StringBuilder("属性有:");
        Field[] fs=c.getDeclaredFields();
        for(Field f:fs){
           result.append(f.getName()+" ");
        }
        result.append("\n方法有:");
        Method[] ms=c.getDeclaredMethods();
        for(Method m:ms){
            result.append(m.getName()+" ");
        }
        result.append("\n构造方法有:");
        Constructor[] cs=c.getDeclaredConstructors();
        for(Constructor con:cs){
            result.append(con.getName()+" ");
        }
        System.out.println(result);
        //IO 写入到result.txt
        FileWriter fw=new FileWriter("d:\\jar\\result.txt");
        //FileOutputStream fos=null;
        //fos.write(result.toString().getBytes());
        fw.write(result.toString());
        fw.close();
    }
}
